package fr.pud.server;

import java.io.Serializable;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;

import fr.pud.client.model.Fleet;
import fr.pud.client.model.Queries;
import fr.pud.client.model.Route;
import fr.pud.utils.Properties;

/**
 * The server which is used to launch the calculation when data have been
 * received. Apr 3, 2012 - OSE Ecole des Mines de Nantes
 * @author Pierre Reliquet
 */
public interface IServer extends Remote, Serializable {
    public static final int    PORT          = 7777;
    public static final String IP            = "82.67.139.156";
    public static final String NAME          = "PUD";
    public static final String START_ADDRESS = "rmi://";
    public static final String END_ADDRESS   = ":" + PORT + "/" + NAME;
    public static final String ADDRESS       = START_ADDRESS + IP + END_ADDRESS;

    public ArrayList<Route> solve(Fleet aFleet, Queries aQueries,
            Properties theProperties) throws RemoteException;
}
